package cn.edu.jxau.test;

import java.util.Arrays;
import java.util.Objects;

public class Main {

	public static void main(String[] args) {

		System.out.println(isStraight(new int[] { 5, 0, 6, 0, 3 }));
	}

	public static boolean isStraight(int[] arr) {

		// 1.参数校验 //
		Objects.requireNonNull(arr, "参数arr为null");
		if (arr.length != 5) {
			throw new IllegalArgumentException("参数arr的长度必须为5");
		}
		Arrays.sort(arr);
		// 2.计算0的个数 //
		int counter = 0; // 0的数量
		int i = 0;
		while (i < arr.length && arr[i++] == 0) {
			counter++;
		}
		if (counter > 2) {
			throw new IllegalArgumentException("扑克牌‘王’的数量大于2");
		}
		// 3.计算空位数 //
		int slot = 0; // 空位数
		for (int j = counter + 1; j < arr.length; j++) {
			if (arr[j] == arr[j - 1]) {
				return false;
			}
			slot = slot + arr[j] - arr[j - 1] - 1;
		}
		if (slot <= counter) {
			return true;
		}
		return false;
	}
}